<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

<div id="app">
    <cpn :cmovies="movies" :cmessage="message"></cpn>
</div>

<template id="cpn">
    <div>
        我是父组件
        <!-- <p>{{cmovies}}</p> -->
        <ul>
            <li v-for="(item, index) in cmovies" :key="index">{{item}}</li>
        </ul>
        <h2>{{cmessage}}</h2>
    </div>
</template>

<script src="../js/vue.js"></script>
<script>
    const cpn = {
        template: '#cpn',
        // 1.可以传递一个数组，数字中的元素为变量名
        // props: ['cmovies', 'cmessage']

        // 2.可以传一个对象，并可以限制变量的类型
        // props: {
        //     cmovies: Array,
        //     cmessage: String
        // }

        // 3.传递的变量也可以写成一个对象,限制其类型及赋予缺省值
        props: {
            cmovies: {
                type: Array,
                default() {
                    return []
                }
            },
            cmessage: {
                type: String,
                default: 'aaaaaa',
                required: true // 设置参数为必传，使用该组件必须传入该参数
            }
        }
    }

    const app = new Vue({
        el: '#app',
        data() {
            return {
                message: 'Hello Vue!',
                movies: ['Iron Man', 'Spider Man', 'Captain America']
            }
        },
        components: {
            cpn
        }
    })
</script>
</body>
</html>